package com.newly.driver.sdk.device.video.cloud.device.tencent;

import cn.hutool.core.annotation.Alias;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author gjm guan
 * @date 2021/10/21 17:22
 * @desc 腾讯云查询设备请求参数
 * Offset	否	Integer	偏移量，默认0
 * Limit	否	Integer	限制，默认200
 * NickName	否	String	设备名称，需要模糊匹配设备名称时为必填
 * DeviceIds.N	否	Array of String	DeviceId列表，需要精确查找设备时为必填
 * DeviceTypes.N	否	Array of Integer	设备类型过滤
 */
@Data
public class TXQueryDeviceReq {
    /**
     * 页码,偏移量，默认0
     */
    @Alias("Offset")
    @ApiModelProperty("页码,偏移量，默认0")
    private Integer offset;

    /**
     * 页数，限制，默认200
     */
    @ApiModelProperty("页数，限制，默认200")
    @Alias("Limit")
    private Integer limit;

    /**
     * 设备名称，需要模糊匹配设备名称时为必填
     */
    @ApiModelProperty("设备名称，需要模糊匹配设备名称时为必填")
    @Alias("NickName")
    private String deviceName;

    /**
     * 设备id，DeviceId列表，需要精确查找设备时为必填
     */
    @ApiModelProperty("设备id，DeviceId列表，需要精确查找设备时为必填")
    @Alias("DeviceIds")
    private List<String> deviceIds;

    /**
     * 设备类型，设备类型过滤
     */
    @ApiModelProperty("设备类型，设备类型过滤")
    @Alias("DeviceTypes")
    private List<Integer> deviceTypes;

    public TXQueryDeviceReq() {
    }

    public TXQueryDeviceReq(List<String> deviceIds) {
        this.deviceIds = deviceIds;
    }
}
